#include "ElementIntegralPostprocessor.h"
#include "VFVInterface.h"
#include "MooseVariableInterface.h"

class VFVErrorStatic : 
	public ElementIntegralPostprocessor,
	public MooseVariableInterface<Real>,
	public VFVInterface
{
public:
	VFVErrorStatic(const InputParameters& parameters);

protected:
	const VariableValue& _u;
	/// Holds the solution gradient at the current quadrature points
	const VariableGradient& _grad_u;

	virtual Real computeQpIntegral() override;
	virtual Real computeIntegral();

};

template <>
InputParameters validParams<VFVErrorStatic>();
